<?php

require_once dirname(__FILE__).'/../lib/carreraGeneratorConfiguration.class.php';
require_once dirname(__FILE__).'/../lib/carreraGeneratorHelper.class.php';

/**
 * carreras actions.
 *
 * @package    sistema_estadisticas
 * @subpackage carreras
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 12474 2008-10-31 10:41:27Z fabien $
 */
class carreraActions extends autoCarreraActions
{

	public function executeReport(sfWebRequest $request)
	{
		$this->getResponse()->clearHttpHeaders();
		$this->getResponse()->setContent('');

		$this->getContext()->getConfiguration()->loadHelpers('SEstadisticas');

		$carrera = CarreraTable::getInstance()->fetchOne($request->getParameter('slug'));

		$this->forward404Unless($carrera);

		$pdf = new sgePDF();
		$pdf->setup('Detalles de carrera', 'detalles_carrera.pdf');

		$pdf->writeReportTitle();
		$pdf->writeLine('Denominación:', $carrera->denominacion);
		$pdf->writeLine('Duración:', $carrera->duracion);
		$pdf->writeLine('Denominación del grado:', $carrera->denominacion_grado);
		$pdf->writeLine('Denominación del título:', $carrera->denominacion_titulo);
		$pdf->writeLine('Modalidad:', $carrera->getModalidadDescripcion());

		if ($carrera->getObjetivoEducacional()->count())
		{
			$pdf->Ln(5);
			$pdf->writeSubtitle('Objetivos educacionales');
	
			foreach($carrera->getObjetivoEducacional() as $key => $record)
			{
				$pdf->writeLine('Tipo objetivo:', tipo_objetivo_texto($record->tipo));
				$pdf->writeLabel('Contenido:', true);
				$pdf->writeText($record->contenido);
				$pdf->Ln(5);
			}
		}

		if ($carrera->getElementoCarrera()->count())
		{
			$pdf->Ln(5);
			$pdf->writeSubtitle('Elementos de carrera');

			foreach($carrera->getElementoCarrera() as $key => $record)
			{
				$pdf->writeLine('Tipo:', $record->getTipoElemento()->titulo);
				$pdf->writeLabel('Descripción:', true);
				$pdf->writeHtml($record->descripcion);
				$pdf->Ln(5);
			}
		}

		$pdf->createDocument();

		throw new sfStopException();
	}

}
